Securing data, such as digitized voice, digitized video, computer data (e.g., e-mail, files, programs), etc., for transmission may be done in a variety of ways. For example, the data may be encrypted using an encrypted algorithm, such as Data Encryption Standard (DES), and/or a symmetric key. Once the data is encrypted, it is provided to a receiving party, or parties, where each receiving party uses its own copy of the symmetric key to decrypt the encrypted message. The sending and receiving parties may discard the symmetric key after one transmission or use it for a plurality of transmissions. Data secured and transmitted in this manner provides reliable security as long as the symmetric key is known only by the sending and receiving parties. As such, a critical issue with symmetric key encryption is providing the symmetric key to all parties without compromising its security. Note that the security of a symmetric key is compromised when an unauthorized party has obtained it.
Another encryption process utilizes a public/private key pair that includes, for each party, a private decryption key and a public encryption key. For signing, a private signature key and a public signature verification key may be used. The public encryption key and the public signature verification key are publicly available, such that a sending party may obtain the public encryption key for each targeted recipient. Once the public encryption keys are obtained, the sending party individually encrypts a message utilizing the public encryption keys of each recipient. When the recipient receives the encrypted message, it utilizes its private decryption key to the decrypt the message. To further enhance the security of the transmission, the sending party may sign the message using its private signature key. As such, when each recipient receives the encrypted message, it retrieves the public signature verification key of the sending party to authenticate the signature.
To facilitate the transmission of a secure message to a plurality of recipients, the sending party may access a recipient list, which includes the identity of each member of a particular group. For example, in a company, a recipient list may include members of an accounting department, another list for finance, another list for engineering, etc. As such, when a sending party wishes to transmit a secure message to members within its group, it accesses the appropriate recipient list to identity each of the targeted recipients. As known in the art, client software (i.e., the encryption software incorporated into the computer operated by the user), interprets the recipient list, obtains the encryption keys for each of the recipients (typically from a directory) and individually encrypts the message for each.
If the recipient list is relatively small (e.g., approximately 10 or less), the overhead processing of individually encrypting messages for the members identified in the recipient list does not overburden the system. As the number of recipients increases, however, the processing by the client software as well as the amount of data generated increases proportionately. For example, a typical encrypted message is approximately 15 kilobytes in size, while the overhead portion, (i.e., the portion that includes the wrapped session keys for each recipient and the identity of each recipient), may exceed the data size by two-fold, three-fold, ten-fold, etc.
Systems such as those described in above-cited co-pending application entitled "Method and Apparatus for Secure Group Communications" and incorporated herein by reference, provide numerous advantages in facilitating secure group communications. With such systems, a group security credential, such as a cryptographic key, group private decryption key, for example, may be stored with a member's individual security credentials. For example, in a public key infrastructure system, the group communication system may have group security credentials stored in a same file as a member's other private decryption keys and private signing keys. However, as more group keys are generated, the member credential file can become too large. Moreover, if the file is lost or otherwise compromised, the new security credential along with the other member security credentials can be difficult to re-obtain and/or be required to be completely regenerated. In addition, members of a group may be deleted, requiring a suitable update of the security credentials of the group in an efficient manner. This would be useful for large numbers of members.
Consequently, there exists a need for a method for securing group communications that facilitates an on-demand group credential generation as well as suitable group security credential updating techniques to provide an efficient system.